#include <iostream>
using namespace std;

#define M 102
#define MOD 1000000007

int K, L;
int DP[M][M];

int FDP() {
	for (int i=0; i<K; i++) {
		DP[0][i] = 1;
	}
	DP[0][0] = 0;
	for (int i=1; i<L; i++) {
		for (int j=0; j<K; j++) {
			int s = 0;
			for (int k=0; k<K; k++) {
				if (j+1==k || j-1==k) continue;
				s = (s+DP[i-1][k])%MOD;
			}
			DP[i][j] = s;
		}
	}
	int res = 0;
	for (int i=0; i<K; i++) {
		res = (res+DP[L-1][i])%MOD;
	}
	return res;
}

int main() {
	cin >> K >> L;
	long ans;
	ans = FDP();
	cout << ans << endl;
	return 0;
}
